"""
@property 用于将方法转换为只读属性
"""

class A:

    def __init__(self):
        self.__age = 10

    @property
    def age(self):
        """使用了property装饰器后这个方法变成了一个只读的属性"""
        return self.__age

    @age.setter
    def age(self,age):
        """使用了这个装饰器后就可以设置值了，用于对属性的控制和校验"""
        if age < 0 or age > 150:
            raise ValueError("年龄设置的有问题，请检查")
        self.__age= age

a = A()
print(a.age)
a.age = 160
print(a.age)
# print(a.value()) # TypeError: 'int' object is not callable